home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / relnotes / c++_eoe / ch7.z / ch7
Text File  |  2001-04-17  |  9KB  |  395 lines

  1.  
  2.  
  3.  
  4.                                      - 1 -
  5.  
  6.  
  7.  
  8.           7.3.1.2m  C++ Compiler Execution Environment Release Notes
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.                                      - 2 -
  66.  
  67.  
  68.  
  69.           7.  _B_u_g__F_i_x_e_s
  70.  
  71.  
  72.  
  73.           7.1  _B_u_g__F_i_x_e_s__i_n__M_I_P_S_p_r_o__7_._3_._1_._2_m__c_+_+___f_e
  74.  
  75.           This section describes the C++ runtime library bugs that
  76.           have been fixed since the MIPSpro 7.3.1m release.
  77.  
  78.           755533    C++ 7.3: /usr/lib32/cmplrs/fecc died due to signal
  79.                     4.
  80.  
  81.           757655    CC Error: A goto outside a region cannot jump to a
  82.                     label inside a region.
  83.  
  84.           777248    7.3 C++ front end crashes.
  85.  
  86.           774574    Edg_prelink broken.
  87.  
  88.           770035    C++ prelinker: error in instantiation loop with
  89.                     -IPA.
  90.  
  91.           770678    C++ program loading causes ld segmentation fault.
  92.  
  93.           786117    Compiler fails to instantiate operator+ overloaded
  94.                     for a nonmember template class.
  95.  
  96.           778301    Goto outside" bug with destructor
  97.  
  98.           778832    7.3.1.m: new "goto outside a region" bug.
  99.  
  100.           785156    Option -ansi_setjmp=off chokes 7.3.1.1m and
  101.                     7.3.1.2m CC.
  102.  
  103.           762310    Not using defined operator new[] in DT_SYMBOLIC
  104.                     DSO for class with virtual funcion.
  105.  
  106.  
  107.  
  108.           7.2  _B_u_g__F_i_x_e_s__i_n__M_I_P_S_p_r_o__7_._3_._1_._1_m__c_+_+___e_o_e
  109.  
  110.           This section describes the C++ runtime library bugs that
  111.           have been fixed since the MIPSpro 7.3.1m release.
  112.  
  113.           753184    Ofstream constructor and open file mode flags
  114.                     problem.
  115.  
  116.  
  117.           753213    Opening an ofstream a second time is broken.
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.                                      - 3 -
  132.  
  133.  
  134.  
  135.           765243    Iostream package truncates 64 bit integers.
  136.  
  137.  
  138.           762033    Output of "long long" does not work in C++ 7.3
  139.  
  140.  
  141.           765657    Ostream constructor is broken.
  142.  
  143.  
  144.  
  145.           7.3  _B_u_g__F_i_x_e_s__i_n__M_I_P_S_p_r_o__7_._3_._1_m__c_+_+___e_o_e
  146.  
  147.           The following bugs have been fixed in the c++_eoe product
  148.           since release 7.3:
  149.  
  150.           751327     The MIPSpro 7.3 Compiler Execution Environment
  151.                     for IRIX 6.5.x consisted of runtime libraries that
  152.                     contained daddiu instructions that could encounter
  153.                     an arithmetic overflow under certain
  154.                     circumstances.  An errata in revision 4 or earlier
  155.                     of MIPS R4000 and R4400 would cause incorrect
  156.                     answers to be produced when encountering
  157.                     arithmetic overflows in executing the daddiu
  158.                     instruction.
  159.  
  160.                     The two examples below illustrate how to determine
  161.                     the type of processor that is on your system and
  162.                     provide one type of failure in library calls that
  163.                     could result on systems with these revision
  164.                     processors.
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.                                      - 4 -
  198.  
  199.  
  200.  
  201.                     To see what processors are on your system,
  202.                     use the hinv command:
  203.  
  204.                     Example:
  205.  
  206.                     % hinv
  207.                     Processor 12: 100 MHZ IP19
  208.                     CPU: MIPS R4400 Processor Chip Revision: 4.0
  209.                     FPU: MIPS R4000 Floating Point Coprocessor Revision: 0.0
  210.  
  211.                     In the example, the Revision 4.0 processor does have the
  212.                     daddiu instruction errata.
  213.  
  214.                     The following example illustrates a failure with
  215.                     the c++ runtime library on a rev 4 R4000
  216.                     or R4400 processor
  217.  
  218.                     Example 2:
  219.                     % cat foo2.cpp
  220.                     #include <iostream.h>
  221.  
  222.                     int main()
  223.                     {
  224.                     long long i;
  225.                             cin >> i;
  226.                             cout << i;
  227.                             return 0;
  228.                     }
  229.  
  230.  
  231.                     %CC -n32 -r4000 foo2.cpp
  232.  
  233.                     #Note  9223372036854775807 is Maxint64
  234.                     % runon 12 a.out
  235.                     9223372036854775807
  236.                     -1
  237.  
  238.                     # -1 is a wrong answer
  239.  
  240.                     This has been fixed.
  241.  
  242.  
  243.  
  244.  
  245.  
  246.           8.  _B_u_g__F_i_x_e_s__i_n__M_I_P_S_p_r_o__7_._3
  247.  
  248.           The following bugs have been fixed in the MIPSpro C++
  249.           product since release 7.2.1:
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.                                      - 5 -
  264.  
  265.  
  266.  
  267.           524503    Compiler does not evaluate functions in condition
  268.                     expression that are always false.
  269.  
  270.           526169    Incorrect subscript checking occurs.
  271.  
  272.           531702    O2 WHIRL write segmentation faults occur.
  273.  
  274.           531977    Compiler dumps core because of a problem with the
  275.                     global symbol table in the front end.
  276.  
  277.           532000    The &array (of func arg) behaves differently when
  278.                     compiled under -o32 from when compiled under -n32.
  279.  
  280.           533421    An internal error occurs because the front end is
  281.                     emitting an ISTORE that is not a KIND_POINTER
  282.                     type.
  283.  
  284.           533923    Compiler crash occurred on embedded derivation of
  285.                     virtual table.
  286.  
  287.           538385    On the C++ front-end, fecc, a segmentation fault
  288.                     occurs with precompiled headers.
  289.  
  290.           540784    Support is needed to create and use pch files.
  291.  
  292.           539413    An array argument passed directly to the
  293.                     descendent call instead of calling the routine
  294.                     with its address.
  295.  
  296.           412255    The cc command crashes when a string contains
  297.                     special Kanji characters.
  298.  
  299.           480882    Compiler dumps core when it encounters characters
  300.                     reserved by EDG.
  301.  
  302.           517948    Possible incorrect macro expansion occurs with 7.2
  303.                     cpp.
  304.  
  305.           530711    N32 cpp breaks macros as macro arguments.
  306.  
  307.           538202    Temporary field is created and destroyed during
  308.                     initialization procedure.
  309.  
  310.           540047    7.2 n32 CC command fails with segmentation fault
  311.                     in fecc.
  312.  
  313.           547294    A segmentation fault occurred in a 7.2 C++
  314.                     compiler assembly phase, a regression from 7.1.
  315.  
  316.           512468    An exception error occurred when code related to
  317.                     regions was executed.
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.                                      - 6 -
  330.  
  331.  
  332.  
  333.           432420    Temporaries that are bound to references are not
  334.                     being destroyed in the correct order, causing
  335.                     problems with EH regions.
  336.  
  337.           512703    An outside goto statement cannot jump inside the
  338.                     region (7.2 beta).
  339.  
  340.           565072    An error occurred with a goto statement into the
  341.                     EH region.
  342.  
  343.           577506    An error occurred with a goto statement outside a
  344.                     region (7.2 n32).
  345.  
  346.           589386    An error occurred with a goto statement into a
  347.                     region.
  348.  
  349.           565521    An error occurred with the following output: "A
  350.                     goto outside a region cannot jump to a label".
  351.  
  352.           592981    An error occurred with initializing arrays (7.2
  353.                     and 7.2.1).
  354.  
  355.           595888    C++ templates fail to locate the default
  356.                     constructor (7.2).
  357.  
  358.           610478    An error occurred during a bootstrap of fec_238.
  359.  
  360.           625408    C++ -n32 does not handle method member pointers
  361.                     correctly.
  362.  
  363.           626078    Program aborts at delete statement while
  364.                     executing.
  365.  
  366.           637610    C++ segmentation fault occurred with -O0
  367.                     -LANG:exceptions=off (n32).
  368.  
  369.           641624    C++ compilation time is more than 5 times longer
  370.                     in 7.2.1 than in 7.2.
  371.  
  372.           601700    Names in the C++ standard library need to be in
  373.                     namespace std (7.2.1).
  374.  
  375.           655895    The ios_base class is missing from the standard
  376.                     library.
  377.  
  378.           664367    An error was found in "_s_t_r_i_n_g" header file (STL
  379.                     3.11).
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.